Execução Orçamentária RJ

de 1999 a 2020

Proposta

Column

Bases de Dados

db <- 6
valueBox(db, icon="fa-database", color = "primary")

6

### Linhas de Código
r t <- 708 valueBox(t, icon="fa-pencil", color = "secondary")
708

Registros

r <- 391705
valueBox(r, icon="fa-server", color = "primary")

391705

### Evolução da 1ª fase
r c <- 90 gauge(c, min= 0, max = 100, gaugeSectors(success = c(76,100), warning = c(36, 75), danger = c(0,35)))
{=html} <div id="htmlwidget-4d698a01c3edcf66bc77" style="width:672px;height:480px;" class="gauge html-widget"></div> <script type="application/json" data-for="htmlwidget-4d698a01c3edcf66bc77">{"x":{"value":90,"min":0,"max":100,"customSectors":[{"lo":76,"hi":100,"color":"success"},{"lo":36,"hi":75,"color":"warning"},{"lo":0,"hi":35,"color":"danger"}],"symbol":null,"label":null,"humanFriendly":true,"humanFriendlyDecimal":1,"href":null},"evals":[],"jsHooks":[]}</script>
Column {data-width=600}

Apresentação

Os gráficos apresentados aqui são uma exploração de bases de dados extraídas do SIAFEM e do SIAFE-Rio com execução orçamentária e financeira do Estado do Rio de Janeiro de 1999 a 2020.

O objetivo da primeira fase é gerar gráficos com as séries históricas de:

  • Receita

  • Despesa

  • Grupos de Gasto

  • Grupos de Despesa e

  • Funções.

Essas escolhas partem do Painel SUPOR (ao lado).

Numa segunda fase espera-se integrar bases de dados do IBGE e bases com a execução orçamentária da União e do Estado São Paulo. À medida que as bases sejam depuradas e harmonizadas será possível ampliar o número de visualizações e será possível aprofundar as análises.

Column

Painel SUPOR

Capturado em 02/07/2021

Fontes:

Receita e Despesa: Extrações SIG(SIAFEM) e Flexvision(SIAFE)

PIB-RJ: IBGE

Agradecimentos especiais ao Marcão pelas bases e pelas dicas.

Receita e Despesa

Column

Receita Inicial e Receita Realizada

renderPlotly(
ggplot(rec_df2, aes(x=Exercicio, y=Valor, group=Tipo)) +
  geom_line(aes(color=Tipo, linetype=Tipo))+
  #  geom_point(aes(color=Tipo))+
  scale_color_brewer(palette="Dark2")+
  labs(#title = "Receita Inicial e Receita Realizada",
       caption = "Fontes: SIAFEM, SIAFE e IBGE",
       x = "Exercicios (1999 a 2020)",
       y = "Receita (em Bilhões)",
       colour = "Tipo")+
  theme(legend.position="bottom")+
  scale_linetype_manual(values=c("dotted", "dotted", "solid", "solid"))+
  scale_y_continuous(
    breaks = seq(0, 110, 20),
    minor_breaks = NULL
  )
)

Despesa - Dotação Inicial e Despesa Liquidada

renderPlotly(
  ggplot(desp_df2, aes(x=Exercicio, y=Valor, group=Tipo)) +
  geom_line(aes(color=Tipo, linetype=Tipo))+
#  geom_point(aes(color=Tipo))+
  scale_color_brewer(palette="Dark2")+
  labs(#title = "Dotação Inicial e Despesa Liquidada",
        caption = "Fontes: SIAFEM e SIAFE",
        x = "Exercicios (1999 a 2020)",
        y = "Despesa (em Bilhões)",
        colour = "Tipo")+
  theme(legend.position="bottom")+
  scale_linetype_manual(values=c("solid", "solid","dotted"))+
  scale_y_continuous(
    breaks = seq(0, 110, 20),
    minor_breaks = NULL
  )
)

Column

Fontes:

Receita e Despesa: Extrações SIG(SIAFEM) e Flexvision(SIAFE)

PIB-RJ: IBGE

Agradecimentos especiais ao Marcão pelas bases e pelas dicas.

Esclarecimentos:

Receita e Despesa: Os valores são apresentados em bilhões de reais (/1.000.000.000)

PIB-RJ: Os valores foram normalizados ficar na mesma escala (/10.000.000) e permitir a comparação do comportamento. Sendo assim, não representam o PIB real.

Os percentuais de realização são calculados realizado/inicial e liquidado/inicial, respectivamente. Os valores também foram normalizados para ficar na mesma escala.

Grupos de Gasto

Column

Grupos de Gasto (Dotação Inicial por Exercicio)

renderPlotly(
# Plota Grupos de Gasto
ggplot(gg_df2, aes(x=Exercicio, y=Dotacao_Inicial, group=GG)) +
  geom_line(aes(color=GG, linetype=GG))+
#  geom_point(aes(color=GG))+
  scale_color_brewer(palette="Dark2")+
  labs(#title = "GG por Dotação Inicial",
       x = "Exercicios (1999 a 2020)",
       y = "Despesa (em Bilhões)",
       colour = "GG")+
  theme(legend.position="bottom")
)

Column

Proporção do GG-L1 e dos demais em relação à Despesa Total

renderPlotly(
ggplot(ggl1_df2, aes(x=Exercicio, y=Rel_L1xOutros, group=GG)) +
    geom_line(aes(color=GG, linetype=GG))+
#    geom_point(aes(color=GG))+
    scale_color_brewer(palette="Dark2")+
    labs(#title = "GG-L1 x Outros GG",
         x = "Exercicios (2001 a 2020)",
         y = "Percentual",
         colour = "GG")+
    theme(legend.position="bottom")
)

Grupos de Despesa

Column

Grupos de Despesa (Dotação Inicial por Exercicio)

renderPlotly(
# Plota Grupos de Despesa
ggplot(gd_df2, aes(x=Exercicio, y=Dotacao_Inicial, group=GD)) +
  geom_line(aes(color=GD, linetype=GD))+
#  geom_point(aes(color=GD))+
  scale_color_brewer(palette="Dark2")+
  labs(#title = "GD por Dotação Inicial",
    x = "Exercicios (1999 a 2020)",
    y = "Despesa (em Bilhões)",
    colour = "GD")+
  theme(legend.position="bottom") +
  scale_y_continuous(
    breaks = seq(0, 100, 10),
    minor_breaks = NULL)
)

Grupos de Despesa (streamgraph)

# Create data:
dataGD <- data.frame(
  year=gd_df2$Exercicio,
  name=gd_df2$GD,
  value=gd_df2$Dotacao_Inicial
)
cores <- c("#1B9E77", "#D95F02", "#7570B3", "#E7298A", "#66A61E", "#E6AB02", "#A6761D", "gray40", "black")

# Stream graph with a legend
GDstream <- streamgraph(dataGD, key="name", 
                  value="value", offset = "expand", date="year",
                  height="200px", width="800px"
                  ) %>%
  sg_axis_x(2, "year", "%Y") %>%
  sg_fill_tableau(cores) %>%
  sg_legend(show=TRUE, label="Grupo de Despesa: ")
## Warning in if (palette %in% c("tableau20", "tableau10medium", "gray5",
## "colorblind10", : a condição tem comprimento > 1 e somente o primeiro
## elemento será usado
## Warning in sg_fill_tableau(., cores): 'palette' value is not a valid Tableau
## discrete color scale, using streamgraph defaults
GDstream
## Warning in widget_html(name = class(x)[1], package = attr(x, "package"), :
## streamgraph_html returned an object of class `list` instead of a
## `shiny.tag`.

Funções

Column

Funções por Dotação Inicial (de 2000 a 2020) - RASCUNHO

Rascunho

Column

Funções de 2000 a 2020 (Despesa em Bilhões) - streamgraph

# Plota streamgraph Funções

# Create data:
dataFunc <- data.frame(
  year=func_df$Exercicio,
  name=func_df$TitFunc,
  value=func_df$Dotacao_Inicial
)
cores <- c("#1B9E77", "#D95F02", "#7570B3", "#E7298A", "#66A61E", "#E6AB02", "#A6761D", "gray40", "black")

# Stream graph with a legend
FuncStream <- streamgraph(dataFunc, key="name", 
                        value="value", offset = "expand", date="year",
                        height="200px", width="800px") %>%
  sg_axis_x(2, "year", "%Y") %>%
  sg_fill_tableau(cores) %>%
  sg_legend(show=TRUE, label="Função: ")
## Warning in if (palette %in% c("tableau20", "tableau10medium", "gray5",
## "colorblind10", : a condição tem comprimento > 1 e somente o primeiro
## elemento será usado
## Warning in sg_fill_tableau(., cores): 'palette' value is not a valid Tableau
## discrete color scale, using streamgraph defaults
FuncStream
## Warning in widget_html(name = class(x)[1], package = attr(x, "package"), :
## streamgraph_html returned an object of class `list` instead of a
## `shiny.tag`.

Referências

Column

Esclarecimentos:

Receita e Despesa: Os valores são apresentados em bilhões de reais (/1.000.000.000)

PIB-RJ: Os valores foram normalizados ficar na mesma escala (/10.000.000) e permitir a comparação do comportamento. Sendo assim, não representam o PIB real.

Os percentuais de realização são calculados realizado/inicial e liquidado/inicial, respectivamente. Os valores também foram normalizados para ficar na mesma escala.

Fontes:

Receita e Despesa: Extrações SIG(SIAFEM) e Flexvision(SIAFE). Agradecimentos especiais ao Marcão pelas bases e pelas dicas.

Painel SUPOR

PIB-RJ: IBGE-PIB dos Municípios

Receita e Despesa de São Paulo: SIAFEM-SP - Despesa Inicial x Despesa Liquidada e Execução Orçamentária e Financeira - Despesa

Column

Material didático

Em português:

Dashboard Básico em R - vídeo

Dashboard Avançado em R - Quase todos os recursos utilizados neste dashboard vem desse vídeo da Ana Carolina Dias.

– Workshop sobre o livro Storytelling com Dados" - também com a Ana Carolina Dias: Parte 1, Parte 2, Parte 3 e Parte 4.

Em inglês:

Datacamp - Data Scientist with R - pago

R for Data Science - gratuito - curso elaborado pelo criador do Tidyverse.

Tidyverse - site oficial com muitos tutoriais.